<?php
namespace app\index\controller;
use think\Controller;
use app\index\model\UserTable;
use PHPMailer\PHPMailer\PHPMailer;
use think\facade\Cookie;
class Login extends Controller
{
	public function login(){
		return view();
	}
	public function verify()
	{
	  $config =  [
	    // 验证码字体大小
	    'fontSize'  =>  25,
	    // 验证码位数
	    'length'   =>  4,
	    // 验证码杂点
	    'useNoise'  =>  false,
		//是否画混淆曲线
		'useCurve' =>false,
		//验证码字符集合
		'codeSet' => '23456789',
		'expire' => 1800,
		'fontttf'=>'1.ttf'
	  ];
	  $captcha = new \think\captcha\Captcha($config); 
	  return $captcha->entry();
	}
	public function loginData(){
		$data = request()->param();
		if(!captcha_check($data['vercode'])) {
		    return json(['code'=>'400','msg'=>'验证码错误']);
		}else{
			return (new UserTable())->loginData($data);
		}
	}
	public function register(){
		return view();
	}
	
	 public function email(){
	        //$email=input('param.email');//获取收件人邮箱
			$email="2066332356@qq.com";
	        //return $email;
	        $sendmail = '3084231974@qq.com'; //发件人邮箱
	        $sendmailpswd = "nuwzeewfswofdefb"; //客户端授权密码,而不是邮箱的登录密码，就是手机发送短信之后弹出来的一长串的密码
	        $send_name = '测试网站';// 设置发件人信息，如邮件格式说明中的发件人，
	        $toemail = $email;//定义收件人的邮箱
	        $to_name = 'hl';//设置收件人信息，如邮件格式说明中的收件人
	        $mail = new PHPMailer();
	        $mail->isSMTP();// 使用SMTP服务
	        $mail->CharSet = "utf8";// 编码格式为utf8，不设置编码的话，中文会出现乱码
	        $mail->Host = "smtp.qq.com";// 发送方的SMTP服务器地址
	        $mail->SMTPAuth = true;// 是否使用身份验证
	        $mail->Username = $sendmail; //发送方的
	        $mail->Password = $sendmailpswd;//客户端授权密码,而不是邮箱的登录密码！
	        $mail->SMTPSecure = "ssl";// 使用ssl协议方式
	        $mail->Port = 465;//  qq端口465或587）
	        $mail->setFrom($sendmail, $send_name);// 设置发件人信息，如邮件格式说明中的发件人，
	        $mail->addAddress($toemail, $to_name);// 设置收件人信息，如邮件格式说明中的收件人，
	        $mail->addReplyTo($sendmail, $send_name);// 设置回复人信息，指的是收件人收到邮件后，如果要回复，回复邮件将发送到的邮箱地址
	        $mail->Subject = "这里是邮件标题";// 邮件标题
	        $code=rand(100000,999999);
	        session("qqcode",$code);
	        //return $code."----".session("code");
	        $mail->Body = "邮件内容是您的验证码是：".$code."，如果非本人操作无需理会！";// 邮件正文
	        if (!$mail->send()) { // 发送邮件
	            echo "Mailer Error: " . $mail->ErrorInfo;// 输出错误信息
	        }else{
	           return json(['code'=>'200','msg'=>'发送验证码成功']);
	        }
	}
	public function registerData(){
		$data = request()->param();
		$yzm = session("qqcode");
		if (!$data['vercode'] || !$yzm) {
		    return $this->message('400', '验证码或邮箱不正确');
		}
		if (session('qqcode') == $data['vercode']) {
		            //return $this->msg('200', '验证成功');
					return (new UserTable())->registerData($data);
		        } else {
		            return $this->message('400',  '验证码错误或验证码超时失效');
		        }
	}
	public function out(){
		$id = request()->param('id');
		if($id == Cookie::get('id')){
			Cookie::delete('id');
			return ['code'=>200,'msg'=>'退出成功。'];
		}else{
			return ['code'=>400,'msg'=>'退出失败。'];
		}
	}
}